use std::env;
use std::process;

use pr01_minigrep::Config;

/*
  需求：
    1.命令行，输入【关键字】和【文件名】，查询文件中关键字句子，并打印输出
*/
fn main() {
    // 常规实现
    // let args: Vec<String> = env::args().collect();
    // let config = Config::new(&args).unwrap_or_else(|err| {
    //     println!("Problem parsing arguments:{}", err);
    //     process::exit(1)
    // });

    // 1.获取并解析【关键字】和【文件名】
    let config = Config::build(env::args()).unwrap_or_else(|err| {
        println!("Problem parsing arguments:{}", err);
        process::exit(1)
    });

    // 2.读取指定【文件】，获取文件行数据
    if let Err(e) = pr01_minigrep::run(config) {
        println!("Application error: {}", e);
        process::exit(1)
    };

    // 3.遍历行数据，对比【关键字】是否存在

    // 4.存在【关键字】的行，存进字符串切片集合

    // 5.遍历打印字符串切片集合
}
